package com.util;

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * @作者 LJX
 * @日期 2025/1/6 15:24
 */
@Slf4j
public class FilesUtil {

    /**
     * 根据给定的文件路径检查并创建所需的文件夹。
     *
     * @param filePath 文件的路径（可以是绝对路径或相对路径）
     */
    public static void ensureDirectoryExists(String filePath) {
        // 获取文件路径对象
        Path path = Paths.get(filePath);

        // 获取文件所在的目录路径
        Path parentDir = path.getParent();

        if (parentDir != null) {
            try {
                // 如果目录不存在，则创建它（包括任何必要的父目录）
                if (!Files.exists(parentDir)) {
                    Files.createDirectories(parentDir);
                    log.info("创建了目录: " + parentDir.toString());
                } else {
                    log.info("目录已存在: " + parentDir.toString());
                }
            } catch (IOException e) {
                log.error("创建目录时出错: " + e.getMessage());
            }
        } else {
            log.info("文件路径没有父目录，无需创建。");
        }
    }

}
